package com.bbs.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.bbs.biz.UserBiz;
import com.bbs.biz.impl.UserBizImpl;
import com.bbs.model.User;

public class UserPaginationServlet extends HttpServlet {

	/**
	 * The doGet method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to get.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		int pageSize = Integer.parseInt(getInitParameter("pageSize"));
		int pageIndex = 0;
		int pageTotal = 0;
		String pageIndexStr = request.getParameter("pageIndex");
		List<User> users = new ArrayList<User>();
		if(pageIndexStr == null) {
			pageIndex = 1;
		}else {
			pageIndex = Integer.parseInt(pageIndexStr);
		}
		
		UserBiz userBiz = new UserBizImpl();
		try {
			users = userBiz.paginationUsers(pageIndex, pageSize);
			pageTotal = userBiz.pageTotal(pageSize);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		HttpSession session = request.getSession();
		session.setAttribute("pageIndex", pageIndex);
		session.setAttribute("users", users);
		session.setAttribute("pageTotal", pageTotal);
		
		request.getRequestDispatcher("back.jsp").forward(request, response);
	}

	/**
	 * The doPost method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to post.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		

	}

}
